-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump Kubernetes version to 1.31.0 and add CI matrix #597
Conversation
Signed-off-by: Florent Poinsard <[email protected]>
Signed-off-by: Florent Poinsard <[email protected]>
Signed-off-by: Florent Poinsard <[email protected]>
Signed-off-by: Florent Poinsard <[email protected]>
Signed-off-by: Florent Poinsard <[email protected]>
Signed-off-by: Florent Poinsard <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @frouioui !
README.md
Outdated
|
||
If for some reason you must attempt to use versions outside the recommend | ||
window, we still welcome bug reports since a workaround might be possible. | ||
However, in some cases we may be unable to overcome the underlying limitations | ||
in our dependencies. | ||
|
||
Each major release of the vitess-operator will support the three latest major release of Kubernetes at the time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Releases plural
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed via 4ccd230
|
||
If for some reason you must attempt to use versions outside the recommend | ||
window, we still welcome bug reports since a workaround might be possible. | ||
However, in some cases we may be unable to overcome the underlying limitations | ||
in our dependencies. | ||
|
||
Each major release of the vitess-operator will support the three latest major release of Kubernetes at the time | ||
of the vitess-operator's major release RC-1. This will ensure that the major release of the vitess-operator will | ||
always support at least one major release of Kubernetes for its whole lifetime (1 year). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be good to link to the EOL policy so it’s clear what this 1 year lifetime is about.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed via 4ccd230
Signed-off-by: Florent Poinsard <[email protected]>
@@ -19,13 +19,18 @@ compatible with certain Vitess and Kubernetes versions, as shown in this table: | |||
| `v2.11.*` | `v18.0.*` | `v1.22.*`, `v1.23.*`, `v1.24.*`, or `v1.25.*` | | |||
| `v2.12.*` | `v19.0.*` | `v1.25.*`, `v1.26.*`, `v1.27.*`, or `v1.28.*` | | |||
| `v2.13.*` | `v20.0.*` | `v1.25.*`, `v1.26.*`, `v1.27.*`, or `v1.28.*` | | |||
| `latest` | `latest` | `v1.25.*`, `v1.26.*`, `v1.27.*`, or `v1.28.*` | | |||
| `latest` | `latest` | `v1.29.*`, `v1.30.*`, `v1.31.*` | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't we need an overlapping Kubernetes version with the previous release, to make upgrading easier/less risky?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is, to support v1.28 through v1.31.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main branch does support 1.28 technically
This PR bumps the supported version of Kubernetes to
v1.31.0
. To do that, all the Kubernetes dependencies were updated tov1.31.0
, and the changes made to the K8S API were reported back into our code.I also added a new matrix of test in BuildKite to ensure vitess-operator works with the three latest version of Kubernetes. I did not find a way to reuse the string constants that define the K8S versions we want to test, so for now they look a bit "re-used". Only solution I could find was to generate the pipeline YAML within the runtime of the pipeline, which did not feel scalable and clean to read.
Moreover, the versions are hardcoded right now, but I hope in the future to add some automation to automatically bump those constants, kind of like we have in Vitess with the Golang version.